package com.day19_function;

import java.util.function.Function;

/**
 * @ClassName: Test01
 * @Author: zw
 * @Description: 出百万拳，行万里路；
 * @Create 2024/3/30-11:12
 * @Version 1.0
 */
public class Test01 {
    public static void main(String[] args) {
        convert("254", (String s) -> {
            return Integer.parseInt(s);
        });
        // lambda优化
        convert("344", s -> Integer.parseInt(s));
        // lambda优化3
        convert("2223", Integer::parseInt);

        // int - string
        convert(100, i -> String.valueOf(i + 566));
        // string - int int - string
        convert("233", Integer::parseInt, i->String.valueOf(i + 566));
    }
    // 定义一个方法，把一个字符串转为int类型，在控制台输出
    private static void convert(String s, Function<String, Integer> fun) {
        int i = fun.apply(s);
        System.out.println(i);
    }
    // 定义一个方法，把一个int类型的数据加上一个整数后，转为字符串并在控制台输出
    private  static void convert(int i, Function<Integer, String> fun) {
        String s = fun.apply(i);
        System.out.println(s);
    }
    // 定义一个方法，把字符串转化为int类型。把int类型的数据加上一个整数后。转为字符串在控制台输出
   private static void convert (String s, Function<String, Integer> fun1, Function<Integer, String> fun2) {
        int rs = fun1.apply(s);
        String rss = fun2.apply(rs);
       System.out.println(rs);
       System.out.println(rss);
    }
}
